1. Field of the Invention
The present invention relates to a digital modulation apparatus used with optical disk media, and relates particularly to a modulation technique applicable to suppressing the low frequency component of a non-return-to-zero inverted (NRZI) signal.
2. Description of the Prior Art
Digital modulation and demodulation apparatuses used for recording and reproduction with an optical disk medium are typically comprised as shown by the block diagram in FIG. 8. A conventional digital modulation and demodulation apparatus DMC includes a modulating unit 1000 for modulating data word to a non-return-to-zero inverted (NRZI) signal S.sub.NRZI, an optical head OH for writing and reading the signal S.sub.NRZI to and from an optical disk OD, and a demodulator 2000 for demodulating the read signal S.sub.NRZI to the original data word.
Specifically, during modulation the data words D(i) by the modulator 1000 are first converted to code words C(i) suited to recording to an optical disk OD by means of a code converter 1001. The converted code words C(i) are then converted to a non-return-to-zero inverted (NRZI) signal S.sub.NRZI by an NRZI converter 1002. Note that "i" is an integer representing the inputting order of the corresponding data words, and is therefore not greater than the total number of the inputted data words. The resulting NRZI signal S.sub.NRZI is then written to the optical disk OD by the optical head OH.
The NRZI signal S.sub.NRZI is read out from the optical disk OH for the demodulation by the demodulator 2000. During demodulation, the NRZI signal S.sub.NRZI is reversed (demodulated or converted back) to the code word C(i). This reversed code word C(i) is reversed to the data word D(i). Thus, the conversion process performed by the modulator 1000 is reversed to read the original data word D(i). The correlation between the data words D(i), code words C(i), and NRZI signal S.sub.NRZI in this process is as shown in FIG. 9 by way of example.
EFM Conversion
One method of converting data words D(i) to code words C(i) in a code converter is eight-to-fourteen modulation (EFM) conversion. This EFM conversion method expressed in (d,k; m,i) terms is a (2,10; 8,17) code sequence constraint conversion method where d is the minimum runlength permitted in each code word C(i), k is the maximum runlength permitted in each code work C(i), m is the length of the data word D(i), and i is the length of the code word C(i).
The runlength is the number of bits of the same value which corresponds to a signal-transition after NRZI conversion, e.g., ZERO (0) in this example, between bits of a different value which corresponds to non-signal-transition after NRZI conversion, e.g., ONE (1) in this example. The d and k constraints are the runlength limits, and this type of runlength-limited code is thus usually called a (d, k) code.
More specifically, in EFM conversion an 8-bit data word is first converted to a 14-bit code word. In this example the code word C(i) satisfies a (2, 10) code sequence constraint, resulting in very code word C(i) having at least two and not more than ten zeroes between any two ones in the code word. A 3-bit merging code is then inserted between one 14-bit code word and the next 14-bit code word. Each code word is constructed so that this (2, 10) code sequence constraint is also satisfied in the 17-bit code sequence containing a code word C(i) and the transition (merging) code.
The transition code is selected such that, in addition to satisfying the code sequence constraint, the absolute value of the digital sum variation (DSV) is reduced to minimize the low frequency component of the channel signal, i.e., the NRZI signal S.sub.NRZI. Note that the DSV is accumulated from the beginning of the binary bit sequence where the bits of one bit state have a value of +1 and the bits of the other state have a value of -1.
It is known that the low frequency component of the bit sequence can be suppressed by controlling the conversion process to minimize the absolute value of the DSV. It is desirable to suppress the low frequency component of the NRZI signal S.sub.NRZI to prevent read errors caused by threshold value fluctuation when the signal is digitized during reproduction, or to prevent fluctuation in the servo error signal during recording and reproduction.
EFM conversion is thus an effective conversion method with respect to suppressing the low frequency component of the NRZI signal S.sub.NRZI, but it is not a completely satisfactory conversion method when used with the high recording densities of the latest optical disk media.
EFMplus Conversion
EFMplus is a modified EFM conversion method designed for improved performance with high density recording (cf., Kees A. Schouhamer-Immink, "EFMPlus: The Coding Format of the High-Density Compact Disc," IEEE, 1995). The EFMplus conversion is a (2, 10; 8, 16) code sequence constraint conversion method achieving a 17/16 improvement in recording density when compared with EFM conversion corresponding to (2,10; 8,17) code sequence constraint conversion as described above. In the EFMplus conversion method, an eight-to-fourteen modulation (EFM) conversion is extended to an eight-to-sixteen modulation (ESM), wherein an 8-bit data word D(i) is converted to a 16-bit code word C(i).
Whereas EFM conversion uses a single static conversion table, EFMplus conversion selects one conversion table from several available conversion tables according to specific rules each time a data word is presented for conversion, and uses the selected conversion table to convert the data word to a code word. Note that the use of a specified single conversion table is called a "state" corresponding to that conversion table.
FIG. 10 is one example of possible conversion tables Tpc(m) and Tsc(m) used in the EFMplus conversion method. There is a total of eight tables, grouped according to four states (state 1 to state 4), with two tables (a primary and secondary) associated with each state. The primary conversion tables are indicated by symbols Tpc(m), wherein "m" corresponds to the state numbers. For example, m=1 means the primary conversion table Tpc(m=1) for the state 1. Similarly, m=2, 3 and 4 mean the primary conversion tables Tpc(m=2) for the state 2, Tpc(m=3) for the state 3, and Tpc(m=4) for the state 4, respectively. In the same manner, the secondary conversion table Tsc(m) are also identified by "m" (m=1 . . . 4).
Each primary conversion table Tpc(m) contains all of the data words that can be expressed with eight bits, i.e., 256 data words, and the 16-bit code words corresponding to each of these data words. Each secondary conversion table Tsc(m) contains a finite selection of data D words, specifically 88 data words from 00000000 to 01010111, and the corresponding code words C. Both the primary and secondary conversion tables Tpc(m) and Tsc(m) contain a next state indicator NS, which contains one of four values (from 1 to 4), each indicating the state of the next conversion.
More specifically, the state of the next conversion, i.e., the primary or secondary conversion table Tpc(m) and Tsc(m) to be used for the next conversion, is designated by the code word C(i-1) obtained from the immediately preceding conversion. The next state designation by each code word is predetermined based on that code word's runlength (number of last successive zeroes). This step ensures that the (2, 10) constraints are satisfied even in the interconnection between code words C(i-1) and C(i) as shown in FIG. 10 and FIG. 11. Note that the first conversion table Tpc(m=1) and Tsc(m=2) are used for the first data word D(i) to be converted, i.e., the data word following the first synchronization code.
As shown in FIG. 11, each of these conversion tables Tpc(m) and Tsc(m) is compiled so that the code words contained in a single conversion table all share a common characteristic. For example, the code words contained in the second conversion tables Tpc(m=2) and Tsc(m=2) all have an initial runlength of at least 1 and not more than 5 zeroes, with the first bit and the thirteenth bit both being zero. Note that "X" in the table (FIG. 11) indicates that the bit value may be one or zero.
The method of selecting one of these eight conversion tables each time one data word is supplied is described below.
(1) The first step is to determine the state of the next conversion NS(i-1) according to the designation by previous code word C(i-1) in a manner described above.
(2) If the next data word D(i) to be converted is in the range 00000000 to 01010111, i.e., is data word 87 or less, the primary table Tpc(m) or secondary conversion table Tsc(m) converting the data word D(i) to a code word C(i) achieving maximum suppression of the low frequency component in the NRZI signal S.sub.NRZI is selected. It will be obvious that if the data word D(i) to be converted is not within the above range, a primary conversion table Tpc(m) will always be used.
The EFMplus conversion method thus converts one data word D(i) to one code word C(i).
It should be noted, however, that there is a certain amount of duplication in the code words C(i) contained in each of the conversion tables Tpc(m) and Tsc(m) shown in FIG. 10. More specifically, the same code word C(m) can be assigned to different data words D(i) depending upon the selected state. The four code words C(i) surrounded by a rectangular frame in the tables in FIG. 10 are such duplicate words. It is therefore necessary to ensure that during demodulation, i.e., when re-converting one of these duplicate code words C(i) to the corresponding data word, the code word is uniquely decoded to the original data word.
This is achieved in EFMplus conversion by shifting to the next state, i.e., state 2 or state 3, when a data word D(i) is converted to a duplicate code word C(i). Whether conversion is shifted to state 2 or state 3 is determined by which of the different data words the data words D(i) to be converted is. As a result, when the code word C(i) read from the optical disk OD is demodulated, it can be uniquely decoded to the original data word D(i) even if the code word C(i) is a duplicate code word, because the state following that code word C(i) is known.
It will be obvious that the state NC(i) of the read code word C(i) can be known during demodulation by using the rules shown in FIG. 11 and FIG. 12. More specifically, as shown in FIG. 12, it can be determined whether the code word was converted in state 1, (2 or 3), or 4 from the runlength at the end of the code word C(i-1) read immediately before the code word C(i) being decoded. It can also be determined whether the code word was converted in state 2 or state 3 from the values of code word bits 1 and 13 as shown in FIG. 11.
It is therefore possible by means of EFMplus conversion to uniquely convert an 8-bit data word to a 16-bit code word C(i), and to uniquely decode the code word C(i) to the original data word D(i).
While EFMplus conversion thus improves upon the EFM conversion method with respect to the achievable recording density, its performance in terms of suppressing the low frequency component of the NRZI signal S.sub.NRZI is inferior to that of EFM conversion. More specifically, while EFMplus conversion improves the recording density by 17/16 compared with EFM conversion, low frequency component suppression deteriorates by approximately 3 dB.